wait(0.25) local SA = Instance.new("Sound",script) SA.SoundId = "rbxasset://sounds/bass.mp3" SA.Volume = 0.35 local PartB = Instance.new("Part") local SB = Instance.new("Sound",PartB) SB.SoundId = "rbxasset://sounds/impact_explosion_03.mp3" SB.Volume = 1.4 SB.PlayOnRemove = true local PartC = Instance.new("Part") local SC = Instance.new("Sound",PartC) SC.SoundId = "rbxasset://sounds/collide.wav" SC.Volume = 1.4 SC.PlayOnRemove = true local PartD = Instance.new("Part") local SD = Instance.new("Sound",PartD) SD.SoundId = "rbxasset://sounds/Rocket shot.wav" SD.Volume = 1.4 SD.PlayOnRemove = true PartB.Anchored = true PartC.Anchored = true PartD.Anchored = true function HitSound(pos) local random = math.random(1,3) if random == 1 then if SB and SB.Parent then SB.PlaybackSpeed = math.random(240,360) / 100 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end elseif random == 2 then if SC then SC.PlaybackSpeed = math.random(140,360) / 100 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end elseif random == 3 then if SD then SD.PlaybackSpeed = math.random(1600,2000) / 100 end if PartD then PartD.Position = pos PartD.Parent = script PartD.Parent = nil end end end function Kaboom(pos) local random = math.random(1,3) if random == 1 then if SB and SB.Parent then SB.PlaybackSpeed = math.random(80,160) / 100 end if PartB then PartB.Position = pos PartB.Parent = script PartB.Parent = nil end elseif random == 2 then if SC then SC.PlaybackSpeed = math.random(60,120) / 100 end if PartC then PartC.Position = pos PartC.Parent = script PartC.Parent = nil end elseif random == 3 then if SD then SD.PlaybackSpeed = math.random(120,240) / 100 end if PartD then PartD.Position = pos PartD.Parent = script PartD.Parent = nil end end end function BombsAway(T,V,S,o) local Collision = false local F = Instance.new("Fire",T) F.Size = 4 F.Color = T.Color F.SecondaryColor = T.Color for e = 1,150 do if Collision == false then for i = 1,20 do if Collision == false then V = V - Vector3.new(0,game.Workspace.Gravity * 0.002,0) T.CFrame = T.CFrame + Vector3.new(V.X * 0.002,V.Y * 0.002,V.Z * 0.002) if e >= 5 then local T = T:GetTouchingParts() for i = 1,#T do if T[i].CanCollide then Collision = true end end end end end wait(0.04) end end if S and S.Parent then S:Stop() end if T and T.Parent then T.Material = Enum.Material.Neon T.Transparency = 0.95 T.CanCollide = false if o and o.Parent and o.Neutral == false then T.BrickColor = o.TeamColor end end if F then if o and o.Parent and o.Neutral == false then F.Color = o.TeamColor.Color F.SecondaryColor = o.TeamColor.Color end end delay(0,function() if T then Kaboom(T.Position) end end) if T and T.Parent then local P = Instance.new("Part",script) P.Name = "Kaboom" P.Shape = Enum.PartType.Ball P.Size = Vector3.new(42,42,42) P.Transparency = 0.5 P.Material = Enum.Material.Neon P.CFrame = T.CFrame P.Anchored = true P.BrickColor = T.BrickColor if o and o.Parent and o.Neutral == false then P.BrickColor = o.TeamColor end local Attachment = Instance.new("Attachment",P) local Particles = Instance.new("ParticleEmitter",Attachment) Particles.LightEmission = 1 Particles.LightInfluence = 0.2 Particles.Drag = 5 Particles.Enabled = false Particles.Lifetime = NumberRange.new(0.5,1) Particles.Rate = 100 Particles.Rotation = NumberRange.new(-360,360) Particles.SpreadAngle = Vector2.new(-360,360) Particles.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.8,0),NumberSequenceKeypoint.new(1,1)}) Particles.Color = ColorSequence.new(T.Color) Particles.Texture = "rbxasset://textures/particles/smoke_main.dds" Particles.Speed = NumberRange.new(70,70) Particles.Size = NumberSequence.new(7,7) Particles:Emit(500) for i = 1,9 do local Part = Instance.new("Part",script) Part.Name = "Debris" Part.BrickColor = P.BrickColor Part.Material = Enum.Material.Neon Part.Locked = true Part.Size = Vector3.new(0.5,0.5,0.5) Part.CFrame = P.CFrame + Vector3.new(math.random(-2,2),math.random(-2,2),math.random(-2,2)) Part.Velocity = Vector3.new(math.random(-24,24),math.random(-24,24),math.random(-24,24)) local A0 = Instance.new("Attachment",Part) A0.Position = Vector3.new(-0.25,0,0) local A1 = Instance.new("Attachment",Part) A1.Position = Vector3.new(0.25,0,0) local Trail = Instance.new("Trail",script) Trail.Color = ColorSequence.new(P.Color) Trail.Transparency = NumberSequence.new(0,1) Trail.MinLength = 0.02 Trail.Lifetime = 0.3 Trail.FaceCamera = true Trail.Attachment0 = A0 Trail.Attachment1 = A1 game:GetService("Debris"):AddItem(Part,5) end local Explosion = Instance.new("Explosion") Explosion.Position = P.Position Explosion.BlastRadius = 21 Explosion.BlastPressure = 1000000 Explosion.Visible = false Explosion.Parent = game.Workspace local function Hit(part) if part and part.Parent:FindFirstChildWhichIsA("Humanoid") then part.Parent:FindFirstChildWhichIsA("Humanoid"):TakeDamage(2048) local creator = Instance.new("ObjectValue",part.Parent:FindFirstChildWhichIsA("Humanoid")) creator.Name = "creator" if o and o.Parent then creator.Value = o end game:GetService("Debris"):AddItem(creator,0.2) delay(0,function() HitSound(Explosion.Position) end) elseif part and part.Parent:FindFirstChild("FakeHumanoid") and part.Parent.FakeHumanoid:IsA("StringValue") and o and o.Parent then part.Parent.FakeHumanoid.Value = o.Name end end Explosion.Hit:Connect(Hit) for i = 1,10 do wait(0.12) if P and P.Parent then P.Transparency = P.Transparency + 0.05 local Touch = P:GetTouchingParts() for i = 1,#Touch do if Touch[i] and Touch[i].Parent and Touch[i].Parent:FindFirstChildWhichIsA("Humanoid") then local Humanoid = Touch[i].Parent:FindFirstChildWhichIsA("Humanoid") if not (Humanoid:FindFirstChild("creator") and Humanoid:FindFirstChild("creator"):IsA("ObjectValue") and Humanoid.creator.Value == o) then Humanoid:TakeDamage(2048) local creator = Instance.new("ObjectValue",Humanoid) creator.Name = "creator" if o and o.Parent then creator.Value = o end game:GetService("Debris"):AddItem(creator,0.2) delay(0,function() HitSound(P.Position) end) end local Tag2 = Touch[i].Parent:FindFirstChild("FakeHumanoid") if Tag2 and o and o.Parent then Tag2.Value = o.Name end end end end end if P and P.Parent then P:Destroy() end end if T and T.Parent ~= nil then T.Name = "Effect" game:GetService("Debris"):AddItem(T,10) end end function NearNumber(a,b) if a + 0.375 >= b and a - 0.375 <= b then return true else return false end end function Shoot(C,bc,f,s,b,o) local P = Instance.new("Part",script) P.Name = "Laser" P.Anchored = true P.Locked = true P.Size = Vector3.new(1,1,10) P.Material = Enum.Material.Neon P.CFrame = C local At = Instance.new("Attachment",P) At.Position = Vector3.new(0,0,5) local A0 = Instance.new("Attachment",P) A0.Position = Vector3.new(-0.5,0,5) local A1 = Instance.new("Attachment",P) A1.Position = Vector3.new(0.5,0,5) local Trail = Instance.new("Trail",script) Trail.Color = ColorSequence.new(bc.Color) Trail.Transparency = NumberSequence.new(0,1) Trail.MinLength = 0.02 Trail.Lifetime = 0.6 Trail.FaceCamera = true Trail.Attachment0 = A0 Trail.Attachment1 = A1 if b then b.Color = ColorSequence.new(bc.Color) b.Attachment1 = At delay(0.12,function() if b then b.Attachment1 = nil end end) end delay(10,function() if Trail and Trail.Parent then Trail:Destroy() end end) if f == true and s == true then P.CFrame = P.CFrame * CFrame.new(0,0,0,-0.25,0,0,1) end P.BrickColor = bc P.Velocity = P.CFrame.lookVector * 80 local Alternate = false local LaserHit = false local TouchConnection = P.Touched:Connect(function(hit) if hit == nil or (hit and hit.CanCollide) then LaserHit = true if hit and hit.Parent then local Humanoid = hit.Parent:FindFirstChildWhichIsA("Humanoid") if Humanoid and not (Humanoid:FindFirstChild("creator") and Humanoid:FindFirstChild("creator"):IsA("ObjectValue") and Humanoid.creator.Value == o) then Humanoid:TakeDamage(35) if f == true then Humanoid:TakeDamage(2013) end local creator = Instance.new("ObjectValue",Humanoid) creator.Name = "creator" if o and o.Parent then creator.Value = o end game:GetService("Debris"):AddItem(creator,0.2) delay(0,function() HitSound(P.Position) end) end local Tag2 = hit.Parent:FindFirstChild("FakeHumanoid") if Tag2 and o and o.Parent then Tag2.Value = o.Name end end end end) for i = 1,32 do if P and P.Parent then if Alternate == true and f == true then P.BrickColor = BrickColor.new("Institutional white") else P.BrickColor = bc end Alternate = not Alternate for i = 1,40 do if LaserHit == false then P.CFrame = P.CFrame * CFrame.new(0,0,-2) local T = P:GetTouchingParts() for i = 1,#T do if T[i] and T[i].Parent then if T[i].CanCollide or T[i].Parent:FindFirstChildWhichIsA("Humanoid") then LaserHit = true local Humanoid = T[i].Parent:FindFirstChildWhichIsA("Humanoid") if Humanoid and not (Humanoid:FindFirstChild("creator") and Humanoid:FindFirstChild("creator"):IsA("ObjectValue") and Humanoid.creator.Value == o) then Humanoid:TakeDamage(35) if f == true then Humanoid:TakeDamage(2013) end local creator = Instance.new("ObjectValue",Humanoid) creator.Name = "creator" if o and o.Parent then creator.Value = o end game:GetService("Debris"):AddItem(creator,0.2) delay(0,function() HitSound(P.Position) end) end local Tag2 = T[i].Parent:FindFirstChild("FakeHumanoid") if Tag2 and o and o.Parent then Tag2.Value = o.Name end end end end end end wait(0.02) if LaserHit == true then break end end end TouchConnection:Disconnect() if P and P.Parent then P.CFrame = P.CFrame * CFrame.new(0,0,-5) P.Shape = Enum.PartType.Ball if f == true then P.BrickColor = bc P.Size = Vector3.new(42,42,42) local Attachment = Instance.new("Attachment",P) local Particles = Instance.new("ParticleEmitter",Attachment) Particles.LightEmission = 1 Particles.LightInfluence = 0.2 Particles.Drag = 5 Particles.Enabled = false Particles.Lifetime = NumberRange.new(0.5,1) Particles.Rate = 100 Particles.Rotation = NumberRange.new(-360,360) Particles.SpreadAngle = Vector2.new(-360,360) Particles.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0),NumberSequenceKeypoint.new(0.8,0),NumberSequenceKeypoint.new(1,1)}) Particles.Color = ColorSequence.new(bc.Color) Particles.Texture = "rbxasset://textures/particles/smoke_main.dds" Particles.Speed = NumberRange.new(70,70) Particles.Size = NumberSequence.new(7,7) Particles:Emit(500) local Explosion = Instance.new("Explosion") Explosion.Position = P.Position Explosion.BlastRadius = 21 Explosion.BlastPressure = 1000000 Explosion.Visible = false Explosion.Parent = game.Workspace local function Hit(part) if part and part.Parent:FindFirstChildWhichIsA("Humanoid") then part.Parent:FindFirstChildWhichIsA("Humanoid"):TakeDamage(2048) local creator = Instance.new("ObjectValue",part.Parent:FindFirstChildWhichIsA("Humanoid")) creator.Name = "creator" if o and o.Parent then creator.Value = o end game:GetService("Debris"):AddItem(creator,0.2) elseif part and part.Parent:FindFirstChild("FakeHumanoid") and part.Parent.FakeHumanoid:IsA("StringValue") and o and o.Parent then part.Parent.FakeHumanoid.Value = o.Name end end Explosion.Hit:Connect(Hit) delay(0,function() Kaboom(P.Position) end) else P.Size = Vector3.new(4,4,4) end for i = 1,2 do local Part = Instance.new("Part",script) Part.Name = "Debris" Part.BrickColor = bc Part.Material = Enum.Material.Neon Part.Locked = true Part.Size = Vector3.new(0.5,0.5,0.5) Part.CFrame = P.CFrame + Vector3.new(math.random(-2,2),math.random(-2,2),math.random(-2,2)) Part.Velocity = Vector3.new(math.random(-24,24),math.random(-24,24),math.random(-24,24)) local A0 = Instance.new("Attachment",Part) A0.Position = Vector3.new(-0.25,0,0) local A1 = Instance.new("Attachment",Part) A1.Position = Vector3.new(0.25,0,0) local Trail = Instance.new("Trail",script) Trail.Color = ColorSequence.new(bc.Color) Trail.Transparency = NumberSequence.new(0,1) Trail.MinLength = 0.02 Trail.Lifetime = 0.3 Trail.FaceCamera = true Trail.Attachment0 = A0 Trail.Attachment1 = A1 game:GetService("Debris"):AddItem(Part,5) end if f == true then for i = 1,7 do local Part = Instance.new("Part",script) Part.Name = "Debris" Part.BrickColor = P.BrickColor Part.Material = Enum.Material.Neon Part.Locked = true Part.Size = Vector3.new(0.5,0.5,0.5) Part.CFrame = P.CFrame + Vector3.new(math.random(-2,2),math.random(-2,2),math.random(-2,2)) Part.Velocity = Vector3.new(math.random(-24,24),math.random(-24,24),math.random(-24,24)) local A0 = Instance.new("Attachment",Part) A0.Position = Vector3.new(-0.25,0,0) local A1 = Instance.new("Attachment",Part) A1.Position = Vector3.new(0.25,0,0) local Trail = Instance.new("Trail",script) Trail.Color = ColorSequence.new(bc.Color) Trail.Transparency = NumberSequence.new(0,1) Trail.MinLength = 0.02 Trail.Lifetime = 0.3 Trail.FaceCamera = true Trail.Attachment0 = A0 Trail.Attachment1 = A1 game:GetService("Debris"):AddItem(Part,5) end end local T = P:GetTouchingParts() for i = 1,#T do if T[i] and T[i].Parent and T[i].Parent:FindFirstChildWhichIsA("Humanoid") then local Humanoid = T[i].Parent:FindFirstChildWhichIsA("Humanoid") if not (Humanoid:FindFirstChild("creator") and Humanoid:FindFirstChild("creator"):IsA("ObjectValue") and Humanoid.creator.Value == o) then Humanoid:TakeDamage(35) if f == true then Humanoid:TakeDamage(2013) end local creator = Instance.new("ObjectValue",Humanoid) creator.Name = "creator" if o and o.Parent then creator.Value = o end game:GetService("Debris"):AddItem(creator,0.2) delay(0,function() HitSound(P.Position) end) end local Tag2 = T[i].Parent:FindFirstChild("FakeHumanoid") if Tag2 and o and o.Parent then Tag2.Value = o.Name end end end if f == true then P.Transparency = 0.5 for i = 1,10 do if P and P.Parent then P.Transparency = P.Transparency + 0.05 end wait(0.12) end if P and P.Parent then P:Destroy() end else wait(0.08) if P and P.Parent then P:Destroy() end end end end function Ready() local Tool = Instance.new("Tool",owner.Backpack) Tool.Name = "Blaster" Tool.TextureId = "rbxasset://textures/MouseLockedCursor.png" Tool.GripPos = Vector3.new(0,-0.5,1.25) local Torso = Instance.new("Part",Tool) Torso.Name = "Handle" Torso.Size = Vector3.new(1,1,3) Torso.BrickColor = BrickColor.new("Medium stone grey") Torso.Locked = true local PointLight = Instance.new("PointLight",Torso) PointLight.Range = 14 PointLight.Shadows = true PointLight.Brightness = 5 local SpotLight = Instance.new("SpotLight",Torso) SpotLight.Range = 60 SpotLight.Shadows = true SpotLight.Brightness = 5 local SoundA = Instance.new("Sound",Torso) SoundA.SoundId = "rbxasset://sounds/Launching rocket.wav" SoundA.Volume = 1.2 local A = Instance.new("Attachment",Torso) A.Position = Vector3.new(0,0,-1.5) local BA0 = Instance.new("Attachment",Torso) BA0.Position = Vector3.new(-0.5,0,1.5) local BA1 = Instance.new("Attachment",Torso) BA1.Position = Vector3.new(0.5,0,1.5) local ShipTrail = Instance.new("Trail",script) ShipTrail.Color = ColorSequence.new(Torso.Color) ShipTrail.Transparency = NumberSequence.new(0,1) ShipTrail.MinLength = 0.02 ShipTrail.Lifetime = 0.3 ShipTrail.FaceCamera = true ShipTrail.Attachment0 = BA0 ShipTrail.Attachment1 = BA1 local Beam = Instance.new("Beam",script) Beam.Attachment0 = A Beam.FaceCamera = true local Fire = 0 local HP = owner.Character:FindFirstChildWhichIsA("Humanoid") local function Equipped() Fire = math.max(-72,Fire) for i = 1,3 do wait(0.04) end local toolanim = Instance.new("StringValue",Tool) toolanim.Name = "toolanim" toolanim.Value = "Lunge" end Tool.Equipped:Connect(Equipped) local function ValueChange() if Tool.Enabled == false then if Torso and Fire <= 0 then local Player = game:GetService("Players"):GetPlayerFromCharacter(Tool.Parent) local Character = Tool.Parent local Humanoid if Character then Humanoid = Tool.Parent:FindFirstChildWhichIsA("Humanoid") end if Humanoid:GetState() ~= Enum.HumanoidStateType.Dead then local ExplodingShot = (Fire <= -75) if SoundA then SoundA.PlaybackSpeed = 3.6 SoundA:Play() end local BombLaunch = (Humanoid.MoveDirection.X == 0 and Humanoid.MoveDirection.Z == 0) delay(0,function() Shoot(((Torso.CFrame + Torso.Velocity * 0.002) * CFrame.new(0,0,-6)),Torso.BrickColor,ExplodingShot,false,Beam,Player) end) delay(0,function() if ExplodingShot == true and BombLaunch == true then local Part = Instance.new("Part",script) Part.Name = "Bomb" Part.Anchored = true Part.Locked = true Part.Material = Enum.Material.Metal Part.BrickColor = Torso.BrickColor Part.Size = Vector3.new(1,2,1) Part.CFrame = Torso.CFrame * CFrame.new(0,4,-2) local SoundC = Instance.new("Sound",Part) SoundC.SoundId = "rbxassetid://280101905" SoundC.Volume = 0.4 SoundC.Looped = true SoundC:Play() BombsAway(Part,Torso.Velocity + Vector3.new(0,180,0),SoundC,Player) end end) Fire = 3 end end end end Tool:GetPropertyChangedSignal("Enabled"):Connect(ValueChange) local function Activated() Tool.Enabled = false local toolanim = Instance.new("StringValue",Tool) toolanim.Name = "toolanim" toolanim.Value = "Lunge" end Tool.Activated:Connect(Activated) while Tool and Tool:FindFirstAncestorWhichIsA("DataModel") do Fire = Fire - 1 if Fire == 0 then Tool.Enabled = true end if Torso and (Fire <= -75 or Fire > 0) then Torso.Material = Enum.Material.Neon elseif Torso then Torso.Material = Enum.Material.Metal end Tool.ToolTip = "H = "..math.ceil(HP.Health) if Torso then if HP.Health > 80 then Torso.BrickColor = BrickColor.new("Toothpaste") if ShipTrail then ShipTrail.Color = ColorSequence.new(Color3.new(0,1,1)) end elseif HP.Health > 60 then Torso.BrickColor = BrickColor.new("Lime green") if ShipTrail then ShipTrail.Color = ColorSequence.new(Color3.new(0,1,0)) end elseif HP.Health > 40 then Torso.BrickColor = BrickColor.new("New Yeller") if ShipTrail then ShipTrail.Color = ColorSequence.new(Color3.new(1,1,0)) end elseif HP.Health > 20 then Torso.BrickColor = BrickColor.new("Hot pink") if ShipTrail then ShipTrail.Color = ColorSequence.new(Color3.new(1,0,1)) end else Torso.BrickColor = BrickColor.new("Really red") if ShipTrail then ShipTrail.Color = ColorSequence.new(Color3.new(1,0,0)) end end end if owner and owner.Parent and owner.Neutral == false then local TeamColor = owner.TeamColor Torso.BrickColor = TeamColor end if Torso and PointLight then PointLight.Color = Torso.Color end if Torso and SpotLight then if HP.Health <= 40 then if SpotLight.Brightness == 5 then SpotLight.Brightness = 3.5 elseif SpotLight.Brightness == 3.5 then SpotLight.Brightness = 1.5 elseif SpotLight.Brightness == 1.5 then SpotLight.Brightness = 1 elseif SpotLight.Brightness == 1 then SpotLight.Brightness = 2.5 elseif SpotLight.Brightness == 2.5 then SpotLight.Brightness = 4.5 elseif SpotLight.Brightness == 4.5 then SpotLight.Brightness = 5 end else SpotLight.Brightness = 5 end end wait(0.04) end end function CharacterAdded() Ready() end owner.CharacterAdded:Connect(CharacterAdded) Ready()